﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace DHQGHN.PM2.Models.DHQG
{
    public class NguoiDungModel
    {
        public int NGUOI_DUNG_ID { get; set; }
        [Display(Name="Họ tên")]
        [Required(ErrorMessage = "Họ tên không để trống")]
        [StringLength(250, ErrorMessage="Độ dài tên tối đa 250 ký tự")]
        public string HO_VA_TEN { get; set; }
        [Required(ErrorMessage="Tài khoản không để trống")]
        [StringLength(50, ErrorMessage="Tài khoản có độ dài từ 4 đến 50 ký tự", MinimumLength = 4)]
        [Display(Name = "Tài khoản")]
        [Remote("CheckUserNameExist", "NguoiDung",
           ErrorMessage = "Tài khoản này đã tồn tại. Vui lòng chọn tên khác",
           HttpMethod = "POST", AdditionalFields = "NGUOI_DUNG_ID")]
        public string TAI_KHOAN { get; set; }
        [Display(Name="Điện thoại")]
        public string DIEN_THOAI { get; set; }
        public int DELETED { get; set; }
        public DateTime LAST_UPDATED { get; set; }
        public int RECORD_COUNT { get; set; }
        [Required(ErrorMessage = "Đơn vị không để trống")]
        public int DON_VI_ID { get; set; }

        public string TEN_DON_VI { get; set; }

        public int NHOM_DON_VI_ID { get; set; }
        public int IS_ADMIN { get; set; }
        public int IS_FIX { get; set; }

        public List<DonViModel> listDonVi { get; set; }
        //public List<ChiTieuModel> listChiTieu { get; set; }
        public NguoiDungModel()
        {
            NGUOI_DUNG_ID = 0;
            RECORD_COUNT = 0;
            IS_ADMIN = 0;
            LAST_UPDATED = DateTime.Today;
        }
        public NguoiDungModel(DAL.Models.DHQG.NguoiDung model)
        {
            this.NGUOI_DUNG_ID = model.NGUOI_DUNG_ID;
            this.NHOM_DON_VI_ID = model.NHOM_DON_VI_ID;
            this.DON_VI_ID = model.DON_VI_ID;
            this.TEN_DON_VI = model.TEN_DON_VI;
            this.HO_VA_TEN = model.HO_VA_TEN;
            this.TAI_KHOAN = model.TAI_KHOAN;
            this.DIEN_THOAI = model.DIEN_THOAI;
            this.DELETED = model.DELETED;
            this.LAST_UPDATED = model.LAST_UPDATED;
            this.RECORD_COUNT = model.RECORD_COUNT;
            this.IS_ADMIN = model.IS_ADMIN;
            this.IS_FIX = model.IS_FIX;
        }

        public DAL.Models.DHQG.NguoiDung ToDALModel()
        {
            DAL.Models.DHQG.NguoiDung model = new DAL.Models.DHQG.NguoiDung();
            model.NGUOI_DUNG_ID = this.NGUOI_DUNG_ID;
            model.HO_VA_TEN = this.HO_VA_TEN;
            model.TAI_KHOAN = this.TAI_KHOAN;
            model.DIEN_THOAI = this.DIEN_THOAI;
            model.DELETED = this.DELETED;
            model.LAST_UPDATED = DateTime.Today;
            model.RECORD_COUNT = this.RECORD_COUNT;
            model.DON_VI_ID = this.DON_VI_ID;
            model.NHOM_DON_VI_ID = this.NHOM_DON_VI_ID;
            model.IS_ADMIN = this.IS_ADMIN;
            model.IS_FIX = this.IS_FIX;
            return model;
        }
    }
}